Générer une liste contenant l'ensemble des valeurs d'une suite

Modifié par Clemni

On considère une suite `(u_n)` et un entier naturel n.
Pour stocker l'ensemble des valeurs prises par cette suite jusqu'au rang n, on peut alors utiliser une liste de taille (n+1).
L'élément d'indice i de la liste sera le terme de rang i de la suite.

def u(n) :
    return (n+3)/(2*n + 5)

def termes_u(n):
    """ renvoie une liste contenant tous les termes de la suite (u_n) jusqu'à celui de rang n """
    L = [0] * (n+1)
    for i in range(len(L)):
        L[i] = u(i)
    return L

termes_u(10)

>>> [0.6, 0.5714285714285714, 0.5555555555555556, 0.5454545454545454, 0.5384615384615384, 0.5333333333333333, 0.5294117647058824, 0.5263157894736842, 0.5238095238095238, 0.5217391304347826, 0.52]

Le même procédé peut être utilisé pour la génération d'une suite définie par récurrence. Il faut pour cela commencer par stocker la valeur de  `u_0` au début de la liste.

La fonction suivante permet de générer la liste des termes de la suite définie par `u_0=3` et, pour tout entier naturel `n` `u_{n+1}=2u_n+n+1` .

def termes_u(n):
    L = [0] * n
    L[0] = 3     # On place la valeur de u_0 en début de liste
    for i in range(1, len(L)) :   # on commence à remplir la liste à partir de l'indice 1
        L[i]= 2 * L[i-1] + (i-1) + 1   # Attention ! on exprime u_i en fonction de u_(i-1)
    return L

termes_u(10)

Source : https://lesmanuelslibres.region-academique-idf.fr
Télécharger le manuel : https://forge.apps.education.fr/drane-ile-de-france/les-manuels-libres/mathematiques-terminale-specialite ou directement le fichier ZIP
Sous réserve des droits de propriété intellectuelle de tiers, les contenus de ce site sont proposés dans le cadre du droit Français sous licence CC BY-NC-SA 4.0